/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Utilities;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.Serializable;
import javax.swing.*;

/**
 *
 * @author Félix Marín Ramírez || felixmurcia@gmail.com
 * @version 1.0.1b
 */
public class Explorador extends JFrame implements Serializable {

    /**
     *
     */
    public Explorador() {

        setLayout(new FlowLayout());

        JButton btn = new JButton("abrir");
        btn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JFileChooser selector = new JFileChooser();
                selector.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
                int r = selector.showOpenDialog(null);
                if (r == JFileChooser.APPROVE_OPTION) {
                    eliminarArchivoDirectorio(selector.getSelectedFile());
                    JOptionPane.showMessageDialog(null, "Archivo eliminado con exito");
                }

            }
        });
        add(new JLabel("Seleccione el archivo a eliminar:"));
        add(btn);
    }

    /**
     *
     * @param file Variable de tipo File que se pasa como argumento y que indica
     * la localización del fichero o directorio que se va a eliminar.
     * @return Devuelve true en caso de que la operación se haya realizado correctamente.
     */
    public boolean eliminarArchivoDirectorio(File file) {
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            for (int i = 0; i < files.length; i++) {
                if (files[i].isDirectory()) {
                    this.eliminarArchivoDirectorio(files[i]);
                } else {
                    files[i].delete();
                }
            }
        } else {
            file.delete();
        }
        return file.delete();
    }

    /*   public static void main(String[] args) {
     Explorador p = new Explorador();
     p.setVisible(true);
     p.setBounds(0, 0, 300, 300);
     p.setLocationRelativeTo(null);
     p.setDefaultCloseOperation(EXIT_ON_CLOSE);
     }*/
}
